package com.lcz.suanfa;

import java.util.Arrays;

/**
 * <pre>
 * <img width="128" height="110" src="https://tse3-mm.cn.bing.net/th/id/OIP-C.en-w_oH-yn2UsSRfWnOsGAHaGY?w=198&h=180&c=7&r=0&o=5&dpr=1.25&pid=1.7" alt="马刺">
 * 作者:     <a href="https://github.com/liuchuanzheng">刘传政</a>
 * 创建时间:  15:44 2022/2/28 0028
 * QQ:      1052374416
 * 电话:     18501231486
 * 描述:
 * </pre>
 */
public class 排序和搜索 {
    //合并两个有序数组
    public void merge(int[] nums1, int m, int[] nums2, int n) {
//        if (n >= 0) System.arraycopy(nums2, 0, nums1, m + 0, n);
        Arrays.sort(nums1);
    }

    //第一个错误的版本
    public int firstBadVersion(int n) {
        int left = 1, right = n;
        while (left < right) { // 循环直至区间左右端点相同
            int mid = left + (right - left) / 2; // 防止计算时溢出
            if (isBadVersion(mid)) {
                right = mid; // 答案在区间 [left, mid] 中
            } else {
                left = mid + 1; // 答案在区间 [mid+1, right] 中
            }
        }
        // 此时有 left == right，区间缩为一个点，即为答案
        return left;


    }


    boolean isBadVersion(int version) {
        return true;
    }
}
